﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CRC.Inspecciones.Presentacion;
using CRC.Incidencias.Presentacion;

namespace CRC.Main.Formularios
{
    public partial class PRINCIPAL : Form
    {
        private int childFormNumber = 0;
        private frmContainer childForm = new frmContainer();

        public PRINCIPAL()
        {
            InitializeComponent();
        }

        void childForm_Disposed(object sender, EventArgs e)
        {
            this.panel1.Enabled = true;
        }

        private void ShowNewForm(object sender, EventArgs e)
        {
            Form childForm = new Form();
            childForm.MdiParent = this;
            childForm.Text = "Ventana " + childFormNumber++;
            childForm.Show();
        }

        private void OpenFile(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            openFileDialog.Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*";
            if (openFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                string FileName = openFileDialog.FileName;
            }
        }

        private void SaveAsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            saveFileDialog.Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*";
            if (saveFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                string FileName = saveFileDialog.FileName;
            }
        }

        private void ExitToolsStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void CutToolStripMenuItem_Click(object sender, EventArgs e)
        {
        }

        private void CopyToolStripMenuItem_Click(object sender, EventArgs e)
        {
        }

        private void PasteToolStripMenuItem_Click(object sender, EventArgs e)
        {
        }


        private void CascadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.Cascade);
        }

        private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileVertical);
        }

        private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileHorizontal);
        }

        private void ArrangeIconsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.ArrangeIcons);
        }

        private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (Form childForm in MdiChildren)
            {
                childForm.Close();
            }
        }



        private void button1_Click_1(object sender, EventArgs e)
        {
            AltaInspector usrGestionIsnpecciones = new AltaInspector();
            usrGestionIsnpecciones.MdiParent = this;
            //usrGestionIsnpecciones.Dock = DockStyle.Fill;
            //usrGestionIsnpecciones.Visible = true;

            usrGestionIsnpecciones.Show();
            usrGestionIsnpecciones.StartPosition = FormStartPosition.Manual;
            usrGestionIsnpecciones.Location = new Point(0, 0);
            //usrGestionIsnpecciones.BringToFront();
        }

        private void Cambio(object sender, ListViewItemSelectionChangedEventArgs e)
        {
             if (e.IsSelected) 
             {
                 this.Cursor = Cursors.WaitCursor;
                childForm = new frmContainer();
                childForm.Disposed += new EventHandler(childForm_Disposed);
                childForm.MdiParent = this;
                                  
                 switch (e.ItemIndex)
                  {
                      case 0:
                          CRC.GestionSalones.Presentacion.UsrListadoSalones myControl = new CRC.GestionSalones.Presentacion.UsrListadoSalones();
                          childForm.Controls.Add(myControl);
                          myControl.Dock = DockStyle.Fill;
                          myControl.BringToFront();
                          childForm.Text = "Gestión de Salones & Congregaciones";
                          childForm.Header_Text("Se muestra un listado con todos los salones que el CRC Occidental gestiona.");
                          break;
                      case 1:

                          FrmListadoImpresos frmLstImpresos = new FrmListadoImpresos();
                          frmLstImpresos.MdiParent = this;
                          frmLstImpresos.Show();
                          break;

                      case 2:

                          UsrListarInspeccionesPeriodicas listaInspecciones = new UsrListarInspeccionesPeriodicas();
                          childForm.Controls.Add(listaInspecciones);
                          listaInspecciones.Dock = DockStyle.Fill;
                          listaInspecciones.BringToFront();
                          childForm.Text = "Programación de Inspecciones";
                          childForm.Header_Text("Se muestra un listado de las inspecciones periódicas programadas. Las lineas en rojo indican que son son las más cercanas a la fecha actual. Se puede además generar la documentación para mandar a los representantes. Una vez recibida la documentación de una inspección ES NECESARIO MARCARLA como FINALIZADA.");
                          break;

                     case 3:
                          UsrListarInspeccionesHECHAS usrDocumentacion = new UsrListarInspeccionesHECHAS();
                          childForm.Controls.Add(usrDocumentacion);
                          usrDocumentacion.Dock = DockStyle.Fill;
                          usrDocumentacion.BringToFront();
                          childForm.Text = "Documentación global de las Inspecciones";
                          childForm.Header_Text("En esta pantalla se puede generar la documentación TOTAL (copias de todos los impresos para los destinatarios correspondientes) de las inspecciones finalizadas.");
                          break;
                    case 4:
                          UsrSeguimientoInspecciones usrSeguimientoInspecciones = new UsrSeguimientoInspecciones();
                          childForm.Controls.Add(usrSeguimientoInspecciones);
                          usrSeguimientoInspecciones.Dock = DockStyle.Fill;
                          usrSeguimientoInspecciones.BringToFront();
                          childForm.Text = "Trazabilidad de las Inspecciones";
                          childForm.Header_Text("Muestra el seguimiento o trazabilidad de las inspecciones por cada salón.");
                          break;
                     case 5:
                          GestionIncidencias gestionIncidencias = new GestionIncidencias();
                          childForm.Controls.Add(gestionIncidencias);
                          gestionIncidencias.Dock = DockStyle.Fill;
                          gestionIncidencias.BringToFront();
                          gestionIncidencias.BringToFront();
                          childForm.Text = "Incidencias";
                          childForm.Header_Text("Lista de las incidencias de un Salón. El usuario puede consultar / crear o eliminar dichas incidencias.");
                          break;
                     case 6:
                          UsrGestionZonasInspeccion usrGestionZonas = new UsrGestionZonasInspeccion();
                          childForm.Controls.Add(usrGestionZonas);
                          usrGestionZonas.Dock = DockStyle.Fill;
                          usrGestionZonas.BringToFront();
                          childForm.Text = "Zonas/Representantes";
                          childForm.Header_Text("Pantallas de gestión para crear/borrar/modificar Zonas y sus respectivos representantes de zona.");
                          break;
                 }

                 if (e.ItemIndex != 1)
                 {
                     childForm.StartPosition = FormStartPosition.Manual;
                     childForm.Location = new Point(0, 0);
                     childForm.WindowState = FormWindowState.Maximized;
                     childForm.Show();
                     this.panel1.Enabled = false;
                 }
                 else { //Cas formulari FrmListadoImpresos
                     childForm.Close();
                 }

                 this.listView1.SelectedItems.Clear();
                 this.Cursor = Cursors.Default;
                 
            }
             
        }  
    }      
}